Refreshing content items in offline or virally distributed content

ABSTRACT

A method, apparatus, and system are directed towards providing advertisement insertions at a point of consumption into digital content, such as broadcast television content. A content provider may initially mark the content for advertisement insertion, and create a metadata file indicating constraints, targets, expirations, or the like. A downstream user employs a plug-in component and provides an initial user profile, in part, to access the content with advertisements. As the content is played, and an advertising marker is encountered, fast forwarding or other skipping features are disabled, and an advertisement stream is spliced into the content stream. The advertisement stream is determined based on the user profile and/or other metadata. Moreover, the advertisement stream may be obtained over a network such that advertisements may be refreshed even years after the content has been acquired by the user. In one embodiment, the advertisement consumption may be tracked and reported.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority under 35 U.S.C. § 120 asa continuation of U.S. patent application Ser. No. 15/901,466, filedFeb. 21, 2018, which claims the benefit of priority under 35 U.S.C. §120 as a continuation of U.S. patent application Ser. No. 12/036,982,filed Feb. 25, 2008 and issued as U.S. Pat. No. 9,911,126 on Mar. 6,2018, which claims the benefit of priority under 35 U.S.C. § 119 to U.S.Provisional Pat. App. 60/911,047, filed Apr. 10, 2007, each of which ishereby incorporated herein by reference.

BACKGROUND

The present invention relates generally to digital advertisementdistributions, and more particularly but not exclusively to enablingadvertisements to be inserted at a point of consumption to refreshadvertisements in offline content and/or virally distributed content ina manner such that the consumer is inhibited from skipping past theadvertisements.

Today, content owners, and/or providers are seeking new revenueopportunities with Internet distribution of the content. However,consumers of such content often prefer to receive ‘free’ content. Thissituation tends to make advertisement placement a tremendous opportunityfor content owner revenue. Unfortunately, many content owners are facinga number of technical hurdles that inhibit their ability to realize ascale similar to that of revenue in the video distribution as has beenexperienced in the broadcast television arena. Such hurdles include butare certainly not limited to how does one determine that anadvertisement is watched by the consumer, either online in real-time, oroffline? How may one ensure that an advertisement is not removed fromthe video, or skipped, such that the consumer avoids viewing of theadvertisement? During peer-to-peer redistribution of a video how may oneensure that the advertisement is also distributed and/or later consumed?When an advertisement is distributed, such as virally (peer-to-peerdistributions), how may one ensure that the advertisement is consumeddownstream? Moreover, as such digital content may survive in the networkor even within a client device for an indefinite period of time, how mayone avoid stale advertising content, and still glean incrementaladvertisement revenue from the viewing of older content? In addition,content owners and advertisers may wish to provide advertisements basedon a specific consumer, consumer type, and/or geographic region. Thus,it is with respect to these considerations and others that the presentinvention has been made

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the present invention aredescribed with reference to the following drawings. In the drawings,like reference numerals refer to like parts throughout the variousfigures unless otherwise specified.

For a better understanding of the present invention, reference will bemade to the following Detailed Description of the Invention, which is tobe read in association with the accompanying drawings, wherein:

FIG. 1 shows a functional block diagram illustrating an environment forpracticing the invention;

FIG. 2 illustrates one embodiment of a client device useable for viewingoffline or virally distributed content with advertisements;

FIG. 3 shows a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an onlineconfiguration for the client device;

FIG. 4 shows a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an offlineconfiguration for the client device;

FIG. 5 shows a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an onlinerepeat viewing configuration for the client device; and

FIG. 6 shows a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an offlinerepeat viewing configuration for the client device.

DETAILED DESCRIPTION

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific embodiments by which theinvention may be practiced. This invention may, however, be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein; rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. Amongother things, the present invention may be embodied as methods ordevices. Accordingly, the present invention may take the form of anentirely hardware embodiment, an entirely software embodiment or anembodiment combining software and hardware aspects. The followingdetailed description is, therefore, not to be taken in a limiting sense.

Throughout the specification and claims, the following terms take themeanings explicitly associated herein, unless the context clearlydictates otherwise. The phrase “in one embodiment” as used herein doesnot necessarily refer to the same embodiment, though it may. As usedherein, the term “or” is an inclusive “or” operator, and is equivalentto the term “and/or,” unless the context clearly dictates otherwise. Theterm “based on” is not exclusive and allows for being based onadditional factors not described, unless the context clearly dictatesotherwise. In addition, throughout the specification, the meaning of“a,” “an,” and “the” include plural references. The meaning of “in”includes “in” and “on.”

The term “content” as used herein refers to virtually any content thatincludes at least an audio component and a video component. Thus,multimedia content includes, but is not limited to motion pictures,movies, videos, music videos, Pay-For-View (PPV) content, Video OnDemand (VoD), interactive media, audio files, still images, text,graphics, scripts, applications, and other forms of digital contentuseable by a computing device. However, content is not limited to theseexamples, and virtually any content may be included, without departingfrom the scope of the invention. Multimedia content further includes thecontent files themselves, independent of their format. However, in oneembodiment, the content is provided as a Moving Pictures Experts Group(MPEG) content stream, such as a transport stream, or the like. However,the invention is not so limited, and other file formats may also beemployed, without departing from the scope or spirit of the invention.For example, the invention may be configured to employ, withoutlimitation, at least Flash video files (.FLV), Shockwave Flash (.SWF)files, H.263, H.264, Windows Media, Quick Time (QT), Real, or virtuallyany other file format, streaming format, or the like.

MPEG is an encoding and compression standard for digital broadcastcontent. MPEG provides compression support for television qualitytransmission of video broadcast content. Moreover, MPEG provides forcompressed audio, control, and even user broadcast content. Oneembodiment of MPEG-2 standards is described in ISO/IEC 13818-7(available at http://www.iso.org), which is hereby incorporated byreference.

MPEG content streams may include Packetized Elementary Streams (PES),which typically include fixed (or variable sized) blocks or frames of anintegral number of elementary streams (ES) access units. An ES typicallyis a basic component of an MPEG content stream, and includes digitalcontrol data, digital audio, digital video, and other digital content(synchronous or asynchronous). A group of tightly coupled PES packetsreferenced to substantially the same time base comprises an MPEG programstream (PS). Each PES packet also may be broken into fixed-sizedtransport packet known as MPEG Transport Streams (TS) that form ageneral-purpose approach of combining one or more content streams,possible including independent time bases. Moreover, MPEG frames mayinclude intra-frames (I-frames), forward predicted frames (P-frames),and/or bi-directional predicted frames (B-frames).

Briefly, the present invention is directed towards a method, apparatus,and system for providing advertisement insertions at a point ofconsumption into digital content, such as broadcast television content,or the like, in a manner that inhibits skipping viewing of theadvertisement. A content provider may initially mark the content foradvertisement insertion, and create a metadata file indicatingconstraints, targets, expirations, or the like. A downstream user mayemploy a plug-in component and may provide an initial user profile, inpart, to access the content with advertisements. In one embodiment, theinitial user profile may include information about a geographic regionof the user, user viewing preferences, settings, network history,including such as web browsing history, as well as a variety of otherinformation useable to select advertisements that may be directedtowards the user.

As the content is played, and an advertising marker is encountered, fastforwarding and/or other view skipping mechanisms are disabled, and anadvertisement stream is spliced into the content stream. Theadvertisement stream is determined based on the user profile and/orother metadata. Moreover, in one embodiment, the advertisement streammay be obtained over a network such that advertisements may be refreshedvirtually anytime after the content has been acquired by the user. Inanother embodiment, the advertisement may be stored locally to the user,perhaps on a local client device, or the like. In one embodiment, theadvertisement consumption may be tracked and reported. In oneembodiment, the viewing statistics may be used to determine advertisingrevenues, or even coupons, awards, or the like, payable to the contentprovider, and/or the viewing user. Once the advertisement has played,fast forwarding and other skipping mechanisms are re-enabled. In oneembodiment, if content is rewound such that the advertising marker isagain re-encountered, skipping and the like, is again disabled, andeither the same or a new advertisement stream is spliced into thecontent stream for playing.

By employing the present invention, unique advertisement revenue may berealized with online and offline viewing, as well as initial andsubsequent viewings. For example, in one embodiment, new advertisementsmay be inserted into content, such as television (TV) programs, or thelike, that may be stored on a client device during playout. Suchmechanism for accomplishing this results in advertising refresh.Moreover, use of the present invention may provide advertisementintegrity and ensure advertisement consumption whether the content isviewed online, or offline. Such advertisements may be provided based ona targeted user using preference data obtained from the consumer,geographical data, or the like. In one embodiment, “hot advertisements”can be given a different priority for insertion into content duringplayout of the content by the user, where the term “hot advertisements”refers to one or more advertisements which may have a higher priority ofplayout than another advertisement. Thus, hot advertisements, forexample, may be those advertisements that may have time sensitiveinformation, such as sales information. However, hot advertisements mayalso have other criteria in addition to or other than time thatdetermines them to receive a higher priority than another advertisement.

Illustrative Environment

FIG. 1 shows a functional block diagram illustrating one embodiment ofoperating environment 100 in which the invention may be implemented.Operating environment 100 is only one example of a suitable operatingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of the present invention. Thus, otherwell-known environments and configurations may be employed withoutdeparting from the scope or spirit of the present invention.

As shown in the figure, operating environment 100 includes clientdevices 102-104, content provider 101, Content/Ad Preparation Station(CPS) 106, Management server 107, and Ad Streamer 108, each of which maycommunicate with each other through network 105.

One embodiment, of client devices 102-104 is described in more detailbelow in conjunction with FIG. 2 . Briefly, however, client devices102-104 include virtually any network device capable of receiving and/orreceiving content over a network, such as network 105, from anothercomputing device. Client devices 102-104 may also include any computingdevice capable of receiving content employing a variety of mechanisms,including, but not limited to a network, CDs, DVDs, tape, electronicmemory devices, or the like. The set of such devices may include devicesthat typically connect using a wired communications medium such aspersonal computers, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, or the like. The set ofsuch devices may also include devices that typically connect using awireless communications medium such as radio frequency (RF) devices,infrared (IR) devices, Bluetooth devices, integrated devices combiningone or more of the preceding devices, or the like. Client devices102-104 may also be any device that is capable of connecting using awired or wireless communication medium such as a laptop and any otherdevice that is equipped to communicate over a wired and/or wirelesscommunication medium to receive and play content. Similarly, Clientdevices 102-104 may employ any of a variety of player components toenjoy such content, including, but not limited to, a computer displaysystem, an audio system, a jukebox, set top box (STB), a television,video display device, software player components, or the like.

Client devices 102-104 may receive content as scrambled/encrypted andemploy a conditional access control component to decrypt content, and/orenable access to an entitlement and/or right associated with content.For example, client device may receive content decryption keys, accesskeys, entitlements and/or rights, or the like. Moreover, client devicemay employ a smart card, such as a virtual smart card, or the like, tomanage access to and decryption of the content.

Client devices 102-104 may receive content over network 105. However,client devices 102-104 are not limited to receiving content over network105. For example, content may be provided to client devices 102-104using any of a variety of other portable content storage devices,including, but not limited to Digital Versatile Discs (DVDs), HighDefinition DVD (HD-DVD), Compact Discs (CDs), Video Compact Disc (VCD),Super VCD (SVCD), Super Audio CD (SACD), Dynamic Digital Sound (DDS)content media, Read/Write DVD, CD-Recordable (CD-R), Blu-Ray discs, orthe like. Moreover, client devices may receive content using, forexample, a portable content storage device, while receiving plug-ins orother information, content, and data, over network 105, withoutdeparting from the scope or spirit of the invention.

Client devices 102-104 are further configured to request and a plug-into enable playing of the content. Such plug-in may be obtainable, forexample, from a variety of sources, including, but not limited to aportable storage device, and/or network 105. One embodiment of such aplug-in is described in more detail below in conjunction with FIG. 2 .

In one embodiment, the received content may include a marker, or otheridentifier useable to indicate where an advertisement may be inserted.In one embodiment, the advertisement may already be inserted within thecontent at, at least the identified position within the content. In anyevent, even if an advertisement is inserted within the content, themarker may be configured such that during play of the content, when themarker is encountered, another advertisement might be used to replacethe current advertisement. When the marker is encountered, a plug-in maybe configured and arranged to direct the content player or other clientcomponent to disable features that enable a consumer to skip,fast-forward, or otherwise avoid viewing of the advertisement at anormal viewing speed. When the plug-in determines that the advertisementhas been played, the plug-in may then redirect the content player orother client component to enable the disabled forwarding features. Inone embodiment, viewing statistics may also be provided to a networkwork device, such as content provider 101, management service 107, orthe like.

Communications between various components within operating environment100 may be performed over a network 105. Network 105 is configured tocouple one computing device to another computing device to enable themto communicate. Network 105 is enabled to employ any form of computerreadable media for communicating information from one electronic deviceto another. Also, network 105 may include a wireless interface, and/or awired interface, such as the Internet, in addition to local areanetworks (LANs), wide area networks (WANs), direct connections, such asthrough a universal serial bus (USB) port, other forms ofcomputer-readable media, or any combination thereof. On aninterconnected set of LANs, including those based on differingarchitectures and protocols, a router acts as a link between LANs,enabling messages to be sent from one to another. Also, communicationlinks within LANs typically include twisted wire pair or coaxial cable,while communication links between networks may utilize analog telephonelines, full or fractional dedicated digital lines including T1, T2, T3,and T4, Integrated Services Digital Networks (ISDNs), Digital SubscriberLines (DSLs), wireless links including satellite links, or othercommunications links known to those skilled in the art. Furthermore,remote computers and other related electronic devices could be remotelyconnected to either LANs or WANs via a modem and temporary telephonelink. In essence, network 105 includes any communication method by whichinformation may travel between one networked computing device andanother.

Moreover, network 105 may represent a plurality of different components,and/or network paths between networked devices. Thus, content and/orother information provided between computing devices may employ at leastin part a different network component and/or path. For example, contentprovider 101, Ad streamer 108, or the like, may provide content and/oradvertisements to client devices 102-104 over a satellite link, a wiredlink, a telephone dial-up component, or the like.

The media used to transmit information in communication links asdescribed above illustrates one type of computer-readable media, namelycommunication media. Generally, computer-readable media includes anymedia that can be accessed by a computing device. Computer-readablemedia may include computer storage media, communication media, or anycombination thereof.

Additionally, communication media typically embodies computer-readableinstructions, data structures, program modules, or other data in amodulated data signal such as a carrier wave, data signal, or othertransport mechanism and includes any information delivery media. Theterms “modulated data signal,” and “carrier-wave signal” includes asignal that has one or more of its characteristics set or changed insuch a manner as to encode information, instructions, data, or the like,in the signal. By way of example, communication media includes wiredmedia such as twisted pair, coaxial cable, fiber optics, wave guides,and other wired media and wireless media such as acoustic, RF, infrared,and other wireless media.

Content provider 101 includes virtually any computing device configuredto provide content from producers, developers, and owners of content.Content provider 101 may also be configured to provide a content plug-inuseable to manage viewing of advertisements with the content. In oneembodiment, content provider 101, or even another computing device, mayprovide a download manager that is configured to manage the download ofa content plug-in, and/or setup storage for content and/or advertising.

In one embodiment content provider 101 may also be configured to receivea request for registration of a user of one of client devices 102-104 toreceive content with advertisements. In one embodiment, during theregistration, and/or at various times after registration, the user mayprovide various profile information, including, but not limited toinformation indicating a geographic region of the user, user viewingpreferences, settings, network history, including such as web browsinghistory, as well as a variety of other information useable to selectadvertisements that may be directed towards the user.

Devices that may operate as content provider 101 include personalcomputers, desktop computers, multiprocessor systems, network PCs,servers, or the like. Moreover, although content provider 101 isillustrated as a single computing device, the invention is not solimited. For example, content provider 101 may be implemented as aplurality of computing devices.

In one embodiment, content provider 101 may provide the content and/oradvertisements to CPS 106 for use in enabling marking of advertisementinsertion points into content. CPS 106 may be further configured toencrypt content for disablement of program viewing without contentplug-in, creation of metadata for targeting advertisements, and/ordigital hashing for verification and integrity protection foradvertisements, and/or content.

CPS 106 may prepare the content, in one embodiment, by placing variousmarkers in the content where an advertisement is to be inserted. In oneembodiment, such locations may be identified using a variety ofidentification mechanisms by the content provider 101. Thus, contentprovider 101 might indicate, for example, that an advertisement is to beinserted at a particular location, and CPS 106 might insert a marker toidentify where and/or how to obtain the advertisement to be inserted.CPS 106 may employ a variety of mechanisms to inserting a marker toidentify the insertion of an advertisement, including, but not limitedto using Advanced Television Enhancement Forum (ATVEF) triggers, Wink™triggers, Worldgate™ triggers, or the like. In one embodiment, CPS 106may employ a URL to indicate where an advertisement is inserted. In oneembodiment, CPS 106 might further provide markers, triggers, or thelike, that may be readable by a client component, such as a plug-in, orthe like, to indicate additional actions to perform. Such additionalactions may include, providing metadata to a network device that may beuseable to identify which advertisement to insert. The additionalactions might also instruct the plug-in to have disabled variousfeatures of the client device, and/or player components that mightenable a user of the client device to skip past, fast forward, orotherwise attempt to not play the advertisement in its entirety at whatis considered a normal speed. The markers, triggers, or the like, mayalso be inserted at an end of an advertisement to indicate to the clientdevice, plug-in, or the like, to re-enable the disabled features, and/orto provide viewer statistics to a networking device.

Ad streamer 108 is configured to enable network based advertisementinsertions into a content stream dynamically. In one embodiment, adstreamer 104 may receive a request for content and in response, providethe content to the requesting device, such as client devices 102-104, orthe like. In one embodiment, ad streamer 108 may also provide one ormore advertisements that are to be played at identified locationsbefore, during, or even at an end of the content. Devices that mayoperate as ad streamer 108 include personal computers, desktopcomputers, multiprocessor systems, network PCs, servers, or the like.

Management server 107 includes one or more computing devices arranged toenable distribution of advertisement targeting metadata, and/or thecollection of viewing statistics and reporting information obtainablefrom client devices 102-104. Devices that may operate as managementserver 107 include personal computers, desktop computers, multiprocessorsystems, network PCs, servers, or the like.

It should be noted that while FIG. 1 illustrates ad streamer 108,content provider 101, CPS 106, and management server 107 as distinctnetwork devices, the invention is not so limited. For example, one ofmore functions of such network devices may be distributed across aplurality of network devices. Moreover, in one embodiment, one or morefunctions of such network devices may be incorporated within the samenetwork device as one or more other functions of such network devices,without departing from the scope of the invention.

Illustrative Client Device

FIG. 2 shows one embodiment of client device 200 that may be included ina system implementing the invention. Client device 200 may represent oneembodiment of client devices 102-103 of FIG. 1 .

Client device 200 may include many more or less components than thoseshown in FIG. 2 . However, the components shown are sufficient todisclose an illustrative embodiment for practicing the presentinvention. As shown in the figure, client device 200 includes aprocessing unit 222 in communication with a mass memory 230 via a bus224.

Client device 200 also includes a power supply 226, one or more networkinterfaces 250, an optional audio interface 252, a display 254, a keypad256, an illuminator 258, an input/output interface 260, an optionalhaptic interface 262, and an optional global positioning systems (GPS)receiver 264. Power supply 226 provides power to client device 200. Arechargeable or non-rechargeable battery may be used to provide power.The power may also be provided by an external power source, such as anAC adapter or a powered docking cradle that supplements and/or rechargesa battery.

Client device 200 may optionally communicate with a base station (notshown), or directly with another computing device. Network interface 250includes circuitry for coupling client device 200 to one or morenetworks, and is constructed for use with one or more communicationprotocols and technologies including, but not limited to, global systemfor mobile communication (GSM), code division multiple access (CDMA),time division multiple access (TDMA), user datagram protocol (UDP),transmission control protocol/Internet protocol (TCP/IP), SMS, generalpacket radio service (GPRS), WAP, ultra wide band (UWB), IEEE 802.16Worldwide Interoperability for Microwave Access (WiMax), SIP/RTP, andthe like.

Audio interface 252 is arranged to produce and receive audio signalssuch as the sound of a human voice, music, or the like. For example,audio interface 252 may be coupled to a speaker and microphone (notshown) to enable telecommunication with others and/or generate an audioacknowledgement for some action. Display 254 may be a liquid crystaldisplay (LCD), gas plasma, light emitting diode (LED), or any other typeof display used with a computing device. Display 254 may also include atouch sensitive screen arranged to receive input from an object such asa stylus or a digit from a human hand.

Client device 200 may further include additional mass storage facilitiessuch as optical disk drive 228 and hard disk drive 227. Hard disk drive227 is utilized by client device 200 to store, among other things,application programs, databases, and the like. Additionally, opticaldisk drive 228 and hard disk drive 227, a flash memory, or the like maystore content, advertisements, metadata, user profiles, user networkactivity history, or the like.

Keypad 256 may comprise any input device arranged to receive input froma user (e.g. a sender). For example, keypad 256 may include a pushbutton numeric dial, or a keyboard. Keypad 256 may also include commandbuttons that are associated with selecting and sending images.Illuminator 258 may provide a status indication and/or provide light.Illuminator 258 may remain active for specific periods of time or inresponse to events. For example, when illuminator 258 is active, it maybacklight the buttons on keypad 256 and stay on while the client deviceis powered. Also, illuminator 258 may backlight these buttons in variouspatterns when particular actions are performed, such as dialing anotherclient device. Illuminator 258 may also cause light sources positionedwithin a transparent or translucent case of the client device toilluminate in response to actions.

Client device 200 also comprises input/output interface 260 forcommunicating with external devices, such as a headset, mouse, stylus,or other input or output devices. Input/output interface 260 can utilizeone or more communication technologies, such as USB, infrared,Bluetooth™, and the like. Optional haptic interface 262 is arranged toprovide tactile feedback to a user (e.g. a sender) of the client device.For example, the haptic interface may be employed to vibrate clientdevice 200 in a particular way when another user of a computing deviceis calling.

Optional GPS transceiver 264 can determine the physical coordinates ofclient device 200 on the surface of the Earth, which typically outputs alocation as latitude and longitude values. GPS transceiver 264 can alsoemploy other geo-positioning mechanisms, including, but not limited to,triangulation, assisted GPS (AGPS), E-OTD, CI, SAI, ETA, BSS and thelike, to further determine the physical location of client device 200 onthe surface of the Earth. It is understood that under differentconditions, GPS transceiver 264 can determine a physical location withinmillimeters for client device 200; and in other cases, the determinedphysical location may be less precise, such as within a meter orsignificantly greater distances.

Mass memory 230 includes a RAM 232, a ROM 234, and other storage means.Mass memory 230 illustrates another example of computer storage mediafor storage of information such as computer readable instructions, datastructures, program modules or other data. Mass memory 230 stores abasic input/output system (“BIOS”) 240 for controlling low-leveloperation of client device 200. The mass memory also stores an operatingsystem 241 for controlling the operation of client device 200. It willbe appreciated that this component may include a general purposeoperating system such as a version of UNIX, or LINUX™, or a specializedclient communication operating system such as Windows Mobile™, or theSymbian® operating system. The operating system may include an interfacewith a Java virtual machine module that enables control of hardwarecomponents and/or operating system operations via Java applicationprograms.

Memory 230 further includes one or more data storage mediums, which canbe utilized by client device 200 to store, among other things, programs244 and/or other data. For example, at least one data storage may alsobe employed to store information that describes various capabilities ofclient device 200. The information may then be provided to anotherdevice based on any of a variety of events, including being sent as partof a header during a communication, sent upon request, and the like.Moreover, at least one data storage medium may be used to storeinformation about a user's viewing history, user preferences, clientdevice settings, user's network activity history, information indicatinga geographic region where the client device might be located, or thelike. In one embodiment, at least some of this information may be storedas metadata useable to determine an advertisement to insert withincontent for the user to view. In one embodiment, the data storage mayfurther store information about the user's viewing statistics,including, when the user viewed the content and/or an advertisement, howoften the content/advertisement is viewed, including whether the userre-wound and/or viewed the content/advertisement more than once.

Memory 230, or another component of client device 200, may furtherinclude other data storages, including, but not limited to securecontent storage 242, and/or secure offline ad storage 243. Securecontent storage 242 may be configured and arranged to securely storecontent that is streamed or otherwise provided to client device 200 forviewing. Secure offline ad storage 243 may be configured and arranged tosecurely store advertisements for offline viewing. That is, when clientdevice 200 is configured and arranged to view content absent of anactive network connection, the content, and/or advertisement to beviewed is available local to the client device through secure offlinestorage 243, or where client device has an active network connection,but a marker or other identifier indicates that the advertisement islocally stored.

Although secure content storage 242 and secure offline storage 243 areillustrated within memory 230, the invention is not so constrained, andsuch storage may also reside within other storage mediums, including,but not limited to optical disk drive 228, hard disk drive 227, or thelike.

Programs 244 may also include computer executable instructions which,when executed by client device 200, transmit, receive, and/or otherwiseprocess messages and enable telecommunication with another user ofanother client device. Other examples of application programs includecalendars, contact managers, task managers, transcoders, databaseprograms, word processing programs, security programs, spreadsheetprograms, games, CODEC programs, virtual smart cards, and so forth. Inaddition, mass memory 230 may include content plug-in 246 and contentplayer 272.

Content player 272 may include virtually any mechanism configured andarranged to receive content and/or advertisements and to enable thecontent/advertisements to be viewed by a user of client device 200.Content player 272 may include a variety of sub-components configured toreceive content and/or advertisements through a network and/or localstorage. Content player 272 may employ, in one embodiment, a virtualsmart card, or other security mechanism to determine whether the clientdevice is enabled to decrypt encrypted content and/or otherwise enableviewing of content. One embodiment of content player 272 is described inmore detail in U.S. Pat. No. 7,007,170, entitled “System, method, andapparatus for securely providing content viewable on a secure device,”to Glenn Morten, which is hereby incorporated by reference. However, theinvention is not limited to use of such content player, and otherimplementations may also be employed.

In any event, content player 272 may communicate requests for contentand/or advertisements through content plug-in 246. In one embodiment,plug-in 246 may be configured to manage download of content, contentstorage setup, advertising storage setup, and management ofcontent/advertisements. Content plug-in 246 may also be configured tomanage client based advertisement insertion, disablement ofadvertisement skipping, tracking of advertisement consumption whetheronline, offline, or downstream in a peer-to-peer recipientconfiguration. In one embodiment, content plug-in 246 may send ainstruction, script, or the like, to content player or other componentof client device 200 that requests that various features be disabledthat allow a user to skip past, fast-forward, or otherwise avoid viewingof an inserted advertisement in its entirety in other than what isconsidered to be a normal viewing speed. Content plug-in 246 may, onceit is determined that the advertisement has played in its entirety,request that such disabled features be enabled. In one embodiment,content plug-in 246 may allow a user to stop viewing of thecontent/advertisement, while an advertisement is being viewed, but,unable to view a section of the content after the inserted advertisementwithout having played the inserted advertisement.

Content plug-in 246 may also be arranged to manage consumer profilingfor targeting and geo-filtering, verification and protection ofadvertisement integrity, advertisement refreshment capability,advertisement targeting based on user data and/or geography, or thelike. In addition, content plug-in 246 may further manage integrityand/or privacy of viewing statistics. In one embodiment, content plug-in246 may be configured to provide the viewing statistics to anotherdevice, such as content provider 101, content management server 107, orthe like, as illustrated in FIG. 1 .

Generalized Operation

The operation of certain aspects of the invention will now be describedwith respect to FIGS. 3-6 . Briefly, FIGS. 3-6 illustrate signal flowdiagrams generally showing various embodiments of processes for initialviewing of content and refreshable advertisements for online, offlineconfigurations, as well as repeat viewing of such content andrefreshable advertisements. Refreshable advertisements refers toadvertisements that may be replaced by one or more other advertisementsfor playing at a location associated with the content based on a varietyof criteria.

FIG. 3 show a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an onlineconfiguration for the client device. As shown in diagram 300, contentprovider 101, ad streamer 108, a representative client device 103,management server 107, and CPS 106 of FIG. 1 provide steps that include,but are not limited to communicating messages, content, advertisements,metadata, and other information between each other (or among a singledevice) to enable viewing of content and refreshable advertisements.

As may be seen in FIG. 3 , the flow of steps over time is generallydownward in the illustration. However, those steps that are identifiedwith the prefix x.#, where # is an integer value ₁₋₄, may occur atvirtually any time, independent of the other step flows.

Thus, at virtually any time in diagram 300's flow, new content and/oradvertisements may be made available. As shown, CPS 106 may mark contentfor advertising insertion. In one embodiment, the content and/oradvertisements may be provided by content provider 101 (step x.0),however, the invention is not limited to receiving the content and/oradvertisements, and/or metadata information from content provider 101,and other sources may also provide the content, advertisements, and/ormetadata. In one embodiment, CPS 106 may also create metadata that mayinclude but is not limited to various information, such as geo-filteringconstraints, targeting data, content identifiers, optional expirationinformation, or the like.

CPS 106 may then, in one embodiment, encrypt the content to enforce useof content plug-in 246 of FIG. 2 . In one embodiment, such actions mayfurther enable legal recourse for failure to adhere to a contractualagreement by the user, or other entity in the system.

CPS 106 may also create advertising metadata that may include, but isnot limited to various information, such as geo-filtering constraints;temporal constraints such as, for example, do not play before or after adefined event, time, or the like; targeting data, priority information,or the like. CPS 106 may then provide the content, advertising, and/ormetadata to other devices within diagram 300 through steps x.1, x.2,x.3, and/or x.4.

As further illustrated in FIG. 3 , a consumer using representativeclient device 103, may browse or otherwise identify content for viewing.In one embodiment, such browsing may be performed through a network siteprovided through content provider 101, or the like. The user, throughrepresentative client device 103 may then register for receivingcontent. See step 1.1. The user may then be provided with a download ofcontent plug-in 246 for installation (step 1.2). It should be noted,that where the user already has installed the content plug-in 246, anupdate may be provided during step 1.2, in one embodiment, if available.Otherwise, step 1.2 might be ignored.

Content plug-in 246 may create an initial user profile considering avariety of factors, including, but not limited to geographic region ofclient device 103, preferences, settings, network browsing history, andthe like. At steps 1.4 a-c and 1.5, content may then be requested,advertisement updates requested and content, advertisements, andmetadata are provided to the client device 103.

Continuing in diagram 300, if client device 103 meets the geo-filteringconstraints, and/or any other constraints imposed, including that thecontent is still valid, viewing may begin at step 1.6. Content may bevalid (or invalid) for viewing based on a variety of factors, including,but not limited to the content being identified as time constrained,such that the content can be played a limited number of times, notbefore a certain time, not after a certain time, or the like. Contentmay also be valid (or invalid) for viewing where the content isimproperly obtained, such as improper duplications, or the like. Contentmay further be valid (or invalid) for viewing if the client device doesnot possess proper decryption keys, or the like.

In one embodiment, decryption of the content may be performed inreal-time. As advertising markers are encountered, fast-forwardingand/or other skipping features are automatically disabled and anadvertisement stream is spliced into the stream and provided to clientdevice 103 in steps 107-108. As described above, the choice of theinserted advertisement may be based on targeting heuristics from theconsumer's profile and other advertisement metadata, or the like. Itshould be noted that while a first advertisement might be selected forviewing during a particular location identified by an advertisingmarker, a replay of the content, or a subsequent playing of the contentat some later time could result in a second advertisement being selectedfor viewing during the same particular location identified by theadvertising marker. Thus, in one embodiment, a user might be exposed todifferent advertisements, or the same advertisements, by playing thesame content repetitively.

Moreover, as indicated in the figure, multiple advertisements may berequested and inserted into the content for viewing. When an insertedadvertisement completes playing, content playback continues and theclient device 103 is again enabled to allow skipping, fast-forward, andother similar features to be used. In one embodiment, after eachadvertisement is viewed, statistics may be forwarded to another devicethrough step 1.9 for use in updating advertisement(s)/metadata to beretrieved. In another embodiment, the viewing statistics may be storedlocally, and provided to another network device, upon termination ofplaying the associated content.

FIG. 4 show a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an offlineconfiguration for the client device. Diagram 400 of FIG. 4 issubstantially similar to diagram 300; however, in an offlineconfiguration, viewing of advertisements may be performed by accessinglocally stored advertisements, as illustrated in steps 2.7/.8 of FIG. 4.

If the client device 103 satisfies the geo-filtering constraints, and/orany other imposed constraints, such as the content still being valid forviewing, then viewing may begin. As shown in steps 2.4 a-c, in oneembodiment, the content may be accessed over a network. However, inanother embodiment, the content may also be accessed from a localstorage medium associated with client device 103. Decryption of thecontent may be, in one embodiment, performed in real-time. Asadvertising markers are read, again, fast forwarding, and other skippingmechanisms are disabled and the advertisement stream is spliced into thecontent. As before, the choice of the advertisement stream may be basedon targeting heuristics from the consumer profile and/or otheradvertisement metadata. When the inserted advertisement(s) completeplaying, the disabled features are enabled, and the content is allowedto play from its exit point. Upon network reconnection, statistics maythen be forwarded for reporting and use in updating of advertisementand/or metadata (see steps 2.9-210).

FIG. 5 show a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an onlinerepeat viewing configuration for the client device. Diagram 500 of FIG.5 is substantially similar to diagram 300 of FIG. 3 , except that inthat registration steps and content acquisition steps are not performed.If the client device 103 meets the geo-filtering constraints, including,in one embodiment, that the content is still valid for viewing, thecontent play may begin as shown in steps 3.1-3.7. Also shown in steps3.2-3.4, an update in the consumer's target profile may occur, as wellas sending of advertisement update requests and receiving advertisementmetadata updates based, in part, on the profile updates may occur.

FIG. 6 show a signal flow diagram generally showing one embodiment of aprocess for viewing content and refreshable advertisements in an offlinerepeat viewing configuration for the client device. Diagram 600 of FIG.6 is substantially similar to diagram 500 of FIG. 5 , except that thereplay of content and/or advertisements is performed using locallystored content/advertisements, as seen in steps 4.1-4.3. Thus, severalsteps of diagram 500 may be avoided. As before, f the client device 103meets the geo-filtering constraints, including, in one embodiment, thatthe content is still valid for viewing, the content play may begin. Asadvertising markers are encountered, the skipping and other viewingavoidance features are disabled, and an advertisement stream is splicedinto the content for viewing. As before, the choice of the advertisementstream may be based on targeting heuristics from the consumer profileand/or other advertisement metadata. When the inserted advertisement(s)complete playing, the disabled features are enabled, and the content isallowed to play from its exit point. Upon network reconnection,statistics may then be forwarded for reporting and use in updating ofadvertisement and/or metadata

It will be understood that each block of the flowchart illustration, andcombinations of blocks in the flowchart illustration, can be implementedby computer program instructions. These program instructions may beprovided to a processor to produce a machine, such that theinstructions, which execute on the processor, create means forimplementing the actions specified in the flowchart block or blocks. Thecomputer program instructions may be executed by a processor to cause aseries of operational steps to be performed by the processor to producea computer implemented process such that the instructions, which executeon the processor to provide steps for implementing the actions specifiedin the flowchart block or blocks.

Accordingly, blocks of the flowchart illustration support combinationsof means for performing the specified actions, combinations of steps forperforming the specified actions and program instruction means forperforming the specified actions. It will also be understood that eachblock of the flowchart illustration, and combinations of blocks in theflowchart illustration, can be implemented by special purposehardware-based systems which perform the specified actions or steps, orcombinations of special purpose hardware and computer instructions.

The above specification, examples, and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

What is claimed as new and desired to be protected by Letters Patent ofthe United States is:
 1. A system, comprising: a computing devicecomprising at least one processor, a network interface, and a localcontent storage device, the computing device to: receive, via thenetwork interface from a content source via a network, a first filecomprising a first item of audio content and one or more markers, theone or more markers identifying a temporal location within the firstitem of audio content for playing an additional item of audio content;play a first portion of the first item of audio content; detect, in thefirst portion of the first item of audio content, a first marker of theone or more markers; determine, responsive to detection of the firstmarker, that the computing device is unable to communicate with thecontent source via the network; select, responsive to the determinationthat the computing device is unable to communicate with the contentsource via the network, a first additional item of audio content from aplurality of additional items of audio content stored in the localcontent storage device; play, at the first marker, the selected firstadditional item of audio content; play a second portion of the firstitem of audio content; detect, in the second portion of the first itemof audio content, a second marker of the one or more markers; determine,responsive to the detection of the second marker, that the computingdevice is unable to communicate with the content source via the network;select, responsive to the determination that the computing device isunable to communicate with the content source via the network and theplaying of the first additional item of audio content, a secondadditional item of audio content; and play, at the second marker, theselected second additional item of audio content.
 2. The system of claim1, comprising the computing device to: play one or more additionalportions of the first item of audio content; detect, in the one or moreadditional portions of the first item of audio content, a second markerof the one or more markers; determine, responsive to detection of thesecond marker, that the computing device is unable to communicate withthe content source via the network; select, responsive to thedetermination that the computing device is unable to communicate withthe content source via the network, the first additional item of audiocontent from the plurality of additional items of audio content storedin the local content storage device; play, at the second marker, theselected first additional item of audio content.
 3. The system of claim1, comprising the computing device to: subsequently replay the firstportion of the first item of audio content; detect, in the replay of thefirst portion of the first item of audio content, the first marker ofthe one or more markers; determine, responsive to detection of the firstmarker in the replay of the first portion of the first item of audiocontent, that the computing device is unable to communicate with thecontent source via the network; select, responsive to the determinationthat the computing device is unable to communicate with the contentsource via the network, a second additional item of audio content fromthe plurality of additional items of audio content stored in the localcontent storage device, the second additional item of audio contentdifferent from the first additional item of audio content; and play, atthe first marker, the second additional item of audio content.
 4. Thesystem of claim 1, wherein the one or more markers are inserted into thefirst file by the content source, prior to transmission of the firstfile to the computing device.
 5. The system of claim 1, comprising thecomputing device to: receive, via the network interface from the contentsource, the plurality of additional items of audio content; and storethe received plurality of additional items of audio content in the localcontent storage device.
 6. The system of claim 5, wherein the localcontent storage device comprises a secure content storage portion and asecure offline storage portion different from the secure content storageportion, comprising the computing device to: store the first file in thesecure content storage portion; and store the received plurality ofadditional items of audio content in the secure offline storage portion.7. The system of claim 1, comprising the computing device to: determinea geographic location associated with the computing device; and controlplayback of the first item of audio content based on the geographiclocation.
 8. The system of claim 1, comprising: the computing device toinhibit playback of the first item of audio content responsive tofailure of a geo-filtering constraint based on a geographic location ofthe computing device at the first marker.
 9. The system of claim 1,comprising: the computing device to play the first portion of the firstitem of audio content responsive to satisfaction of a geo-filteringconstraint based on a geographic location of the computing device at thefirst marker.
 10. The system of claim 1, comprising: the computingdevice to disable, responsive to the computing device configured to skippast or fast forward through the first additional item of audio content,at least one feature of the computing device.
 11. The system of claim 1,comprising: the computing device to select the first additional item ofaudio content based on metadata including at least one of a contentplayback history, a temporal constraint indicating when the firstadditional item of audio content can or cannot be played, and a priorityof the first additional item of audio content relative to a priority ofanother additional item of audio content.
 12. A method, comprising:receiving, by a computing device comprising one or more processors via anetwork interface from a content source via a network, a first filecomprising a first item of audio content and one or more markers, theone or more markers identifying a temporal location within the firstitem of audio content for playing an additional item of audio content;playing, by the computing device, a first portion of the first item ofaudio content; detecting, by the computing device, in the first portionof the first item of audio content, a first marker of the one or moremarkers; determining, by the computing device, responsive to detectionof the first marker, that the computing device is unable to communicatewith the content source via the network; selecting, by the computingdevice, responsive to the determination that the computing device isunable to communicate with the content source via the network, a firstadditional item of audio content from a plurality of additional items ofaudio content stored in the local content storage device; playing, atthe first marker, the selected first additional item of audio content;playing a second portion of the first item of audio content; detecting,in the second portion of the first item of audio content, a secondmarker of the one or more markers; determining, responsive to thedetection of the second marker, that the computing device is unable tocommunicate with the content source via the network; selecting,responsive to the determination that the computing device is unable tocommunicate with the content source via the network and the playing ofthe first additional item of audio content, a second additional item ofaudio content; and playing, at the second marker, the selected secondadditional item of audio content.
 13. The method of claim 12,comprising: playing, by the computing device, one or more additionalportions of the first item of audio content; detecting, by the computingdevice, in the one or more additional portions of the first item ofaudio content, a second marker of the one or more markers; determine,responsive to detection of the second marker, that the computing deviceis unable to communicate with the content source via the network;selecting, by the computing device, responsive to the determination thatthe computing device is unable to communicate with the content sourcevia the network, the first additional item of audio content from theplurality of additional items of audio content stored in the localcontent storage device; and playing, by the computing device at thesecond marker, the selected first additional item of audio content. 14.The method of claim 12, comprising: subsequently replaying, by thecomputing device, the first portion of the first item of audio content;detecting, by the computing device, in the replay of the first portionof the first item of audio content, the first marker of the one or moremarkers; determining, by the computing device, responsive to detectionof the first marker in the replay of the first portion of the first itemof audio content, that the computing device is unable to communicatewith the content source via the network; selecting, by the computingdevice, responsive to the determination that the computing device isunable to communicate with the content source via the network, a secondadditional item of audio content from the plurality of additional itemsof audio content stored in the local content storage device, the secondadditional item of audio content different from the first additionalitem of audio content; and playing, by the computing device at the firstmarker, the second additional item of audio content.
 15. The method ofclaim 12, wherein the one or more markers are inserted into the firstfile by the content source, prior to transmission of the first file tothe computing device.
 16. The method of claim 12, comprising: receiving,by the computing device via the network interface from the contentsource, the plurality of additional items of audio content; and storing,by the computing device, the received plurality of additional items ofaudio content in a local content storage device.
 17. The method of claim12, comprising: determining, by the computing device, a geographiclocation associated with the computing device; and controlling, by thecomputing device, playback of the first item of audio content based onthe geographic location.
 18. The method of claim 12, comprising:playing, by the computing device, the first portion of the first item ofaudio content responsive to satisfaction of a geo-filtering constraintbased on a geographic location of the computing device at the firstmarker.
 19. The method of claim 12, comprising: disabling, by thecomputing device, responsive to the computing device configured to skippast or fast forward through the first additional item of audio content,at least one feature of the computing device.
 20. The method of claim12, comprising: selecting, by the computing device, the first additionalitem of audio content based on metadata including at least one of acontent playback history, a temporal constraint indicating when thefirst additional item of audio content can or cannot be played, and apriority of the first additional item of audio content relative to apriority of another additional item of audio content.